Interface for merchandise price optimization

ABSTRACT

An apparatus and method are provided for an interface enabling a user to determine optimum prices of products for sale. The interface includes a scenario/results processor that enables the user to prescribe an optimization scenario, and that presents the optimum prices to the user. The optimum prices are determined by execution of the optimization scenario, where the optimum prices are determined based upon estimated product demand and calculated activity based costs. The scenario/results processor has an input/output processor and a scenario controller. The input/output processor acquires data corresponding to the optimization scenario from the user, and distributes optimization results to the user. The scenario controller is coupled to the input/output processor. The scenario controller controls acquisition of the data and the distribution of the optimization results in accordance with a price optimization procedure.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending U.S. patent application Ser.No. 09/849,448, entitled INTERFACE FOR MERCHANDISE PROMOTIONOPTIMIZATION, having a common assignee, common inventors, and filed onMay 4, 2001. The co-pending application is herein incorporated byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates in general to the field of econometrics, and moreparticularly to an apparatus and method for determining optimum pricesfor a set of products within a product category, where the optimumprices are determined to maximize a merchandising figure of merit suchas revenue, profit, or sales volume.

2. Description of the Related Art

Today, the average net profit generated chains and individual storeswithin the consumer products retail industry is typically less than twopercent of sales. In other words, these stores make less than twodollars profit for every one hundred dollars in revenue. Stores in thisindustry walk a very fine line between profitability and bankruptcy.Consequently, in more recent years, those skilled within themerchandising arts have studied and developed techniques to increaseprofits. These techniques are geared toward the manipulation of certainclasses of merchandising variables, or “levers.” In broad terms, thesemerchandising levers fall into five categories: price (i.e., for howmuch a product is sold), promotion (i.e., special programs, generallylimited in time, to incite consumers to purchase particular products),space (i.e., where within a store particular products are displayed),logistics (i.e., how much of and when a product is ordered, distributed,and stocked), and assortment (i.e., the mix of products that are soldwithin a chain or individual store). It has long been appreciated thatmanipulating certain attributes within each of these “levers” can resultin increased sales for some products, while resulting in decreased salesfor other, related products. Therefore, it is no surprise that managerswithin the consumer products merchandising industry are very disinclinedto make any types of changes without a reasonably high confidence thatthe changes will result in increased profits. The margin for error is sosmall that the implementation of any wrong decision could mean thedifference between a profitable status and an unprofitable status.

Ad hoc methods for manipulating merchandising variables in order toincrease profits have been employed for years within the industry. And awhole system of conventional wisdoms regarding how to manipulate certainlevers has developed, to the extent that courses of undergraduate andgraduate study are offered for the purpose of imparting theseconventional wisdoms to future members of the industry. For example,category managers (i.e., those who are responsible for marketing acategory of related products within a chain of stores) are inclined tobelieve that high-volume products possess a high price elasticity. Thatis, the category managers think that they can significantly increasesales volume for these products by making small price adjustments. Butthis is not necessarily true. In addition, category managers readilycomprehend that products displayed at eye level sell better than thoseat floor level. Furthermore, it is well known that a store can sell moreof a particular product (e.g., dips and salsa) when the particularproduct is displayed next to a complementary product (e.g., chips).Moreover, ad hoc psychological lever manipulation techniques areemployed to increase sales, such as can be observed in some stores thatconstrain the values of particular price digits (e.g., $1.56 as opposedto $1.99) because conventional insights indicate that demand for someproducts decreases if those products have prices that end in “9.”

Although experiential lessons like those alluded to above cannot beapplied in a deterministic fashion, the effects of manipulatingmerchandising variables can most definitely be modeled statisticallywith a high degree of accuracy. Indeed, there is a quantifiablerelationship between each of these merchandising levers and consumerdemand for a product, or group of products, within a store, or a groupof stores in a retail chain. And the relationship between these leversand consumer demand can be accurately modeled, as long as the modelingtechniques that are employed take into account a statisticallysufficient number of factors and data such that credible and unbiasedresults are provided. Examples of these factors include price and saleshistory as a function of time (e.g., day of the week, season, holidays,etc.), promotion (e.g., temporary price reductions and other promotionalvehicles), competition (e.g., price and sales history information fordirectly competitive products that are normally substitutes), andproduct size variations. Those skilled within the art typically refer toa model as is herein described as a demand model because it models therelationship between one or more merchandising levers and consumerdemand for a group of products.

The degree to which demand for a particular product is correlated to aparticular lever is called its “lever elasticity.” For example, aproduct with a low price elasticity can undergo a significant change inprice without affecting demand for the product; a high price elasticityindicates that consumer demand for the product is very susceptible tosmall price variations.

Demand models are used by product category mangers as stand-alonemodels, or as part of an integrated demand/price model. In thestand-alone application, a category manager inputs potential prices fora product or product group, and the stand-alone model estimates salesfor the product or product group. Accordingly, the category managerselects a set of prices to maximize sales of the product or productgroup based upon outputs of the stand-alone demand model. An integrateddemand/price model typically models demand within a set of constraintsprovided by the category manager for a product or group of products andestablishes an optimum price for the product or group of products basedpartially upon the price elasticity of the product or group of productsand the objectives of the model analysis.

Notwithstanding the benefits that category managers are afforded bypresent day demand/price models, their broad application within the arthas been constrained to date because of three primary limitations.First, present day demand/price models do not take into account thecosts associated with providing a product for sale. That is, the modelscan only determine prices as a function of demand to maximize sales, orrevenue. But one skilled in the art will appreciate that establishingproduct prices to maximize revenue in an industry that averages lessthat two percent net profit may indeed result in decreased profits for aretailer because he could potentially sell less high-margin products andmore low-margin products according to the newly established productprices. Hence, determining a set of prices based upon demand alone canonly maximize volume or revenue, not profit. And profit is what makes orbreaks a business. Secondly, present day demand/price models typicallyestimate price elasticity for a given product or product group withoutestimating how changes in price for the product or product group willimpact demand for other, related products or product groups. Forinstance, present day demand/price models can estimate price elasticityfor, say, bar soap, but they do not estimate the change in demand for,say, liquid soap, as a result of changing the prices of bar soap.Consequently, a soap category manager may actually decrease profitswithin his/her category by focusing exclusively on the prices of onesubcategory of items without considering how prices changes within thatone subcategory will affect demand of items within relatedsubcategories. Finally, it is well appreciated within the art thatpresent day statistical techniques do not necessarily yield optimumresults in the presence of sparse and/or anomalous data.

Therefore, what is needed is a technique that enables a user toconfigure and execute optimization scenarios within a model thatdetermines optimized prices for products within a product category,where the model considers the cost of the products as well as the demandfor those products and other related products.

In addition, what is needed is a price optimization interface apparatusthat allows a user to configure optimization parameters of an apparatusthat models the relationship between the prices of products within agiven subcategory and the demand for products within relatedsubcategories.

Furthermore, what is needed is a method for viewing results of a systemthat optimizes the prices of products within a plurality ofsubcategories, where the system maximizes a particular merchandisingfigure of merit that is a function of cost as well as demand.

SUMMARY OF THE INVENTION

The present invention provides a superior technique for configuringoptimization scenarios, determining a set of optimum pricescorresponding to the scenarios, and displaying the set of optimum pricesfor multiple sets of highly related products within a product category.Contrasted with present day optimization systems that consider onlygross figures in their respective optimizations, prices according to thepresent invention can be optimized to maximize merchandising figures ofmerit (e.g., net profit) that take into account demand chain costsassociated with the products.

In one embodiment, an interface is provided enabling a user to determineoptimum prices of products for sale. The interface includes ascenario/results processor that enables a user to prescribe anoptimization scenario, and that presents the optimum prices to the user.The optimum prices are determined by execution of the optimizationscenario, where the optimum prices are determined based upon estimatedproduct demand and calculated activity based costs. The scenario/resultsprocessor has an input/output processor and a scenario controller. Theinput/output processor acquires data corresponding to the optimizationscenario from the user, and distributes optimization results to theuser, where the data is acquired from the user over the Internet via apacket-switched protocol. The scenario controller is coupled to theinput/output processor. The scenario controller controls acquisition ofthe data and the distribution of the optimization results in accordancewith a price optimization procedure.

One aspect of the present invention features a method for providing aninterface to an apparatus for optimizing the prices of products forsale. The method includes utilizing a computer-based scenario/resultsprocessor within an optimization server to present a sequence of dataentry templates to a user, whereby the user specifies an optimizationscenario, the optimization server optimizing the prices according tomodeled market demand for the products and calculated demand chain costsfor the products; and generating a plurality of optimization resultstemplates and providing these templates to the user, wherein the optimumprices are presented.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features, and advantages of the presentinvention will become better understood with regard to the followingdescription, and accompanying drawings where:

FIG. 1 is a diagram illustrating how small price changes are appliedaccording to the present invention in order to shift consumer demandfrom a low-margin product to a higher-margin, strong substitute product.

FIG. 2 is a block diagram illustrating an apparatus for merchandiseprice optimization according to the present invention.

FIG. 3 is a block diagram depicting details of an optimization engineaccording to the present invention.

FIG. 4 is a block diagram showing scenario/results processor detailsaccording to the present invention.

FIG. 5 is a flow chart featuring a method according to the presentinvention for optimizing selected product merchandising levers.

FIG. 6 is a diagram illustrating a currently defined scenarios templateaccording to an exemplary embodiment of the present invention.

FIG. 7 is a diagram featuring a scenario menu within the currentlydefined scenarios template of FIG. 6.

FIG. 8 is a diagram depicting a groups/classes menu within the currentlydefined scenarios template of FIG. 6.

FIG. 9 is a diagram portraying an admin menu within the currentlydefined scenarios template of FIG. 6.

FIG. 10 is a diagram showing a category template that is part of a newscenario wizard according to an exemplary embodiment of the presentinvention.

FIG. 11 is a diagram illustrating a product template that is part of thenew scenario wizard.

FIG. 12 is a diagram featuring a location template that is part of thenew scenario wizard.

FIG. 13 is a diagram depicting a time horizon template that is part ofthe new scenario wizard.

FIG. 14 is a diagram portraying an at-large rules template that is partof the new scenario wizard.

FIG. 15 is a diagram portraying a strategy template that is part of thenew scenario wizard.

FIG. 16 is a diagram showing a currently defined scenarios windowaccording to an exemplary embodiment of the present invention thatfeatures defined scenarios in various states of optimization.

FIG. 17 is a diagram illustrating how optimization results are presentedto a user within the currently defined scenarios window of FIG. 16.

FIG. 18 is a diagram featuring an optimization results templateaccording to the exemplary embodiment of the present invention.

FIG. 19 is a diagram depicting a contribution margin method forpresenting optimization results according to the exemplary embodiment ofthe present invention.

FIG. 20 is a diagram portraying scenario results display options withinthe optimization results template of FIG. 18.

FIG. 21 is a diagram showing a general information window pertaining toa particular optimization scenario that has been selected within thecurrently defined scenarios window of FIG. 16.

FIG. 22 is a diagram illustrating an analyze scenario results templatethat is provided to a user who selects to view detailed scenario resultsaccording to the display options of FIG. 20.

FIG. 23 is a diagram featuring a drill down configuration template forprescribing display options for scenario results.

FIG. 24 is a diagram depicting an analyze scenario results template thatcorresponds to display options selected within the drill downconfiguration template of FIG. 23.

FIG. 25 is a diagram depicting a file location designation windowaccording to an exemplary embodiment of the present invention.

FIG. 26 is a diagram portraying a graph utility window for graphicallypresenting scenario results.

FIG. 27 is a diagram showing a personal settings template forconfiguring scenario properties for display within a currently definedscenarios window according to an exemplary embodiment of the presentinvention.

FIG. 28 is a diagram illustrating the personal settings template of FIG.27 having a group of scenario properties selected for display within acurrently defined scenarios window according to an exemplary embodimentof the present invention.

FIG. 29 is a diagram featuring a currently defined scenarios windowcorresponding to the display properties selected in the personalsettings template of FIG. 28.

FIG. 30 is a diagram depicting a create and manage store groups templateaccording to an exemplary embodiment of the present invention.

FIG. 31 is a diagram portraying the create and manage store groupstemplate of FIG. 30 indicating those stores within a store groupentitled “Midtown.”

FIG. 32 is a diagram showing a tree filtering window for building astore group according to the exemplary embodiment.

FIG. 33 is a diagram illustrating a product class management windowaccording to the exemplary embodiment highlighting products within apremium product class.

FIG. 34 is a diagram featuring a rules summary window for anoptimization scenario that is highlighted within a currently definedscenarios window.

FIG. 35 is a diagram depicting contents of a rules/constraints menuwithin the currently defined scenarios window of FIG. 34.

FIG. 36 is a diagram portraying a first rule warning window according tothe exemplary embodiment.

FIG. 37 is a diagram showing an add a rule for product group templateaccording to the exemplary embodiment.

FIG. 38 is a diagram portraying added rules within a rules summarywindow according to the exemplary embodiment.

DETAILED DESCRIPTION

In light of the above background on the techniques employed by presentday techniques for optimizing the prices for a group of products withina store or group of stores, a detailed description of the presentinvention will be provided with reference to FIGS. 1 through 38. Thepresent invention overcomes the limitations of present day demand/pricemodels by providing an apparatus and methods that enable categorymanagers to optimize the prices of multiple sets of highly relatedproducts within a product group. The optimization afforded by thepresent invention 1) employs product cost figures to determine anoptimum set of prices, and 2) takes into consideration the effects indemand that prices changes in one set of highly related products willcause in all other sets of highly related products within the productgroup.

Now referring to FIG. 1, a chart 100 is presented illustrating how smallprice changes are applied according to the present invention in order toshift consumer demand from a low-margin product to a higher-margin,highly related product. The chart 100 shows a number of product itempoints 101 having various levels of net profitability per unit (ordinateaxis) as a percentage of sales dollars per store per week (abscissaaxis). One skilled in the art will appreciate that the chart ranges andthe dispersion of product item points 101 over the range of sales andnet percentage profits is representative of a typical store or chain ofstores in the consumer products merchandising industry. In addition, thechart 100 shows an average profit line 102 that is also representativeof profits generated by stores within the consumer products industry.The chart 100 specifically depicts a high-sales, low-margin product A101 and a low-sales, high-margin product B 101. Products A 101 and B 101are also highly correlated products 101, that is, they are normallystrong substitutes, yet in some cases may be strong complements. Becausethey are highly correlated, products A 101 and B 101 have very similarattributes from a consumer demand point of view. For example, product A101 may represent a popular brand of corn flakes, while product B 101represents a private label brand of corn flakes.

Those skilled in the art will also concur that while the average netprofit 102 for a group of products in the consumer products industry istypically less than two percent of sales, there is a wide dispersion ofnet profits around the average 102, often as much as 10 percentvariation from the average 102, by item 101, and by store. Accordingly,the chart 100 of FIG. 1 depicts products 101 within four profitabilityquadrants. From a profitability perspective, having products within theupper right quadrant of the chart 100 is desirable. The upper rightquadrant contains high-volume, high-margin products 101. In other words,if a product 101 is shown in the upper right quadrant of the chart 100,it is a product 101 that has high sales, and its cost of sales is lowcompared to its price-a very profitable item. In contrast, the lowerright quadrant contains products 101 that are unprofitable becauseproducts in this quadrant, although they are high-volume, they generatenegative profits-their cost per unit is greater than their price perunit. A chain cannot stay in business very long when most its sales comefrom products in the undesirable, lower right quadrant of the chart 100.Similarly, the upper left quadrant of the chart 100 contains products101 that generate negative profits, yet which have a low sales volume.And the upper left quadrant contains products 101 that at least areprofitable, albeit they do not sell very well.

At a very basic level, the present invention operates to shift consumerdemand from products 101 in undesirable quadrants of the chart 100 tohighly correlated, or strong substitute, products 101 in more desirablequadrants of the chart 100. Using the example of strong substituteproducts A 101 and B 101, the apparatus and method according to thepresent invention engineers this shift in demand by adjusting the pricesof A 101 and B 101 to send demand from A 101 to B 101. The chart 100depicts a 2-cent increase in the price for product A 101 and a 1-centdecrease in price for product B 101, thus resulting in a demand shiftfrom A to B.

The optimization techniques according to the present invention employboth cost data and price/sales relationships for all products within aproduct category to affect demand shifts, not just for selected products101 within a product category, but for all products 101, if chosen,within the product category. By engineering a clockwise shift in demandfor related products 101 within a product category, the model accordingto the present invention provides both apparatus and methods forincreasing the average net profit 102 for a store or chain of stores.

Now referring to FIG. 2, a block diagram 200 is presented illustratingan apparatus for merchandise price optimization according to the presentinvention. The block diagram 200 shows an optimization networkoperations center (NOC) 230 that is accessed over a data network 220 bya plurality of off-site computers 210 belonging to a plurality ofcustomers. In one embodiment, the data network 220 is the Internet 220and the off-site computers 210 are executing a Transport ControlProtocol (TCP)/Internet Protocol (IP)-based thin web client application211 such as MICROSOFT® INTERNET EXPLORER® web browser or NETSCAPE®NAVIGATOR® web browser. In an alternative embodiment, the computers 210execute an additional client application for executing distributedapplications such as CITRIX® ICA® CLIENT 211 universal applicationclient. The optimization NOC 230 has a firewall 231 through which datanetwork packets enter/exit the NOC 230. The firewall 231 is coupled to aweb server 232. The web server 232 provides front-end services for ascenario/results processor 233. The scenario/results processor 233 iscoupled to an optimization engine 234, an activity based cost (ABC)standards data base 237, and a customer data base 238. The customer database 238 provides storage for data sets 239 corresponding to a pluralityof customers. The optimization engine 234 interconnects to an activitybased cost engine 235 and a demand engine 236. The activity based costengine 235 is coupled to the ABC standards data base 237 and the demandengine 236 is coupled to the customer data base 238.

In operation, each of the customers maintains a protected data set 239within the customer data base 238. Point of sale data is uploaded overthe data network 220 from files on the customer computers 210 intocorresponding data sets 239 within the data base. The scenario/resultsprocessor 233 controls the timing and sequence of customer activitiesfor uploading data, configuring optimization scenarios, setting rulesand constraints, and downloading optimization results for display on theclient computers 210. In one embodiment, the scenario/results processor233 builds Hypertext Markup Language (HTML) web pages for transmittalover the data network 220 to the clients 210. In an alternativeembodiment, the scenario/results processor 233 builds Extensible MarkupLanguage (XML) pages for distribution to the clients 210. In aJAVA®-based programming language embodiment, the scenario/resultsprocessor 233 builds, processes, and distributes JAVA® applets to theclients 210.

The web server 232 receives and issues data network transactions overthe data network 220 to affect the distribution of web pages, ortemplates, and to receive commands and data from the client machines210.

Configured optimization scenarios are executed by the optimizationengine 234. Using scenario configuration parameters provided by usersthrough the browser 211 on a client machine 210, the optimization engine234 directs the demand engine 236 to extract data from the customer dataset 239 that applies to the optimization scenario that is beingexecuted. The demand engine 236 predicts sales and market share ofproducts as a function of price according to rules and constraints ofthe optimization scenario and the activity based cost engine 235calculates variable and fixed costs for products at specific storelocations according to parameters of the optimization scenario.

The demand engine 236 relies on a mixed-model framework, simultaneouslyutilizing information in the client data set 239 across all stores andproducts within a product category, where a product category is definedas a collection of substitutable or complementary products. Furthermore,a demand group is defined to be a set of highly substitutable orcomplementary products. By way of example, a product category maycomprise personal soap products. Demand groups within the personal soapcategory could consist of bar soaps and liquid soaps. The mixed modelmethodology is also referred to as “Bayesian Shrinkage” Modeling,because by combining data from various stores and/or products, oneskilled can “shrink” individual parameter estimates towards the averageestimate, dampening the extreme values that would result if traditionalstatistical techniques were used.

The demand engine 236 uses the data from the client data set 239 toestimate coefficients that may be used in an equation to predictconsumer demand. In a preferred embodiment of the invention, sales for ademand group (S) is calculated, and a market share (F) for a particularproduct is calculated, so that demand (D) for a particular product isestimated by D=S·F.

The activity based cost engine 235 employs data from the client data set239 (supplied through the optimization engine 234), industry standardaverage data for calculating activity based costs from the ABC standardsdata base 237, and may also receive imputed variables (such as baselinesales and baseline prices) and data from the demand engine 236 (via theoptimization engine 234) to calculate fixed and variable costs for thesale of each product. Examples of the types of activity based costs forproducts that are calculated by the activity based cost engine 235include bag costs, checkout labor costs, distribution center inventorycosts, invoicing costs, transportation costs, and receiving and stockingcosts.

The optimization engine 234 executes the optimization scenario thatclients configure using the scenario/results processor 233. Usingestimated sales and market share data provided by the demand engine 236,along with fixed and variable activity based costs calculated by theactivity based cost engine 235, in a price optimization embodiment, theoptimization engine 234 determines optimum prices for selected productswithin one or more demand groups across a product category asconstrained by rules and constraints provided by clients. Some of therules/constraints set by the client include constraints to the overallweighted price advance or decline of products, branding price rules,size pricing rules, unit pricing rules, line pricing rules, and cluster(i.e., groups of stores) pricing rules. In addition, the client providesoverall constraints for optimization scenarios that includespecification of figures of merit that optimum prices are determined tomaximize. Example options for figure of merit selection in a priceoptimization embodiment include net profit, volume, and revenue.

The results of an executed optimization scenario are provided to theclient, or user, via the scenario/results processor 233 through asequence of result templates. The result data may also be downloadedover the data network 220 to a designated file on the client machine210.

Now referring to FIG. 3, a block diagram is presented depicting detailsof an optimization engine 300 according to the present invention. Theoptimization engine 300 includes optimization management logic 302 thatis coupled to a scenario/results processor (not shown) according to thepresent invention via bus 301. The optimization engine 300 also includesa price optimization tool 304, a promotion optimization tool 306, aspace optimization tool 308, a logistics optimization tool 310, and anassortment optimization tool 312. Profile bus 324 provides optimizationprofile configuration parameters from the optimization management logic302 to one or more of the optimization tools 304, 306, 308, 310, 312.The optimization tools 304, 306, 308, 310, 312 communicate result datafrom executed optimization scenarios to the optimization managementlogic 302 via result bus 322. Each of the optimization tools 304, 306,308, 310, 312 are coupled to a demand engine (not shown) via bus 318 andto an ABC engine via bus 320.

In operation, the optimization management logic 302 interprets anoptimization scenario configured by a user to direct the retrievaland/or upload of data from the client computer, and the receipt ofcustomer data from the demand engine and ABC standards data from the ABCengine in accordance with the type of optimization that is beingperformed. The price optimization tool 304 is employed to determine aset of optimum prices for products of a product category comprising aplurality of demand groups. The promotion optimization tool 306 isemployed to determine an optimum promotion strategy for products of aproduct category comprising a plurality of demand groups. The space tool308 is employed to determine an optimum placement strategy within storesfor products of a product category comprising a plurality of demandgroups. The logistics tool 310 is employed to determine an optimuminventory strategy within stores for products of a product categorycomprising a plurality of demand groups. And the assortment tool 312 isemployed to determine an optimum mix of products of a product categorycomprising a plurality of demand groups. Each of the tools 304, 306,308, 310, 312 include provisions for determining optimum leverparameters for the maximization of cost-based merchandising figures ofmerit such as net profit. In one embodiment, the optimization engine 300comprises computer program modules coded for execution by anoptimization analysis program such as GAMS®. The results of anoptimization are exported from the application program as tables into adata base server application such as MICROSOFT® SQL Server applicationprogram.

Now referring to FIG. 4, a block diagram is presented showing details ofa scenario/results processor 400 according to the present invention. Thescenario/results processor includes transaction processing logic 402that communicates with a web server (not shown) according to the presentinvention via bus 401. Bus 403 couples the transaction processing logic402 to an input/output processor 404. The input/output processor 404includes a template controller 405 and command interpretation logic 406.The input/output processor 404 is connected to a scenario attributesformat data set 409 and a screen templates data set 410. In oneembodiment, the data sets 409, 410 are stored within an ABC standardsdata base (not shown) according to the present invention. Theinput/output processor 404 communicates with a scenario controller 412via bus 411. The scenario controller 412 has data collection logic 413,a rules generator 414, and results export logic 415. The scenariocontroller 412 is coupled to an optimization engine (not shown)according to the present invention via bus 421, an ABC data base (notshown) via bus 422, and a customer data base (not shown) via bus 423.

Operationally, the transaction logic 402 provides application levelmessage services for the scenario/results processor 402 toreceive/transmit messages from/to clients via the web server. In oneembodiment, sessions are established via conventional socket callsaccording to MICROSOFT® WINDOWS NT® operating system. The input/outputprocessor 404 directs the acquisition of client data to defineparameters of an optimization scenario and directs the distribution ofscenario results to the clients. The command interpretation logic 406utilizes a series of scenario configuration templates, or new scenariotemplates, provided by the template controller 405 to enable a user toconfigure parameters of a optimization scenarios for execution. The newscenario templates, or windows, are stored in the screen templates dataset 410, and are populated with appropriate configuration option data bythe command interpretation logic 406. The input/output processor 404routes these templates to the transaction logic 402, whereby thetemplates are routed to the user client machines over the data network.The command interpretation logic 406 includes interactive dataacquisition logic 408 and file acquisition logic 407. The interactivedata acquisition logic 408 is employed to populate selected scenarioconfiguration templates with fields/parameters whereby a userinteractively provides data required to configure a scenario or todisplay the results of an executed scenario. The file acquisition logic407 is employed to control the reception of electronic files from aclient machine required to configure a scenario and to control thetransmission of files to export results of an executed scenario to aclient machine. The scenario attributes format data set 409 describesthe format requirements for product attribute data so that data receivedby the command interpretation logic 406 can be manipulated into formatsthat comport with each of the optimization tools 304, 306, 308, 310, 312described with reference to FIG. 3.

The scenario controller 412 directs the configuration and execution ofan optimization scenario, and presentation of the results of anoptimization scenario. The scenario controller 412 has data collectionlogic 413, a rules generator 414, and results export logic 415. Therules generator comprises a plurality of rules logic elements to includea price optimization rules element 416, a promotion optimization ruleselement 417, a space optimization rules element 418, a logisticsoptimization rules element 419, and an assortment optimization ruleselement 420.

Operationally, through a subset of the new scenario templates, a user ona client machine selects to perform one of a plurality of availableoptimizations. The selected optimization is provided to the scenariocontroller 412 via bus 411. The data collection logic 413 prescribesclient data that is required to execute the selected optimization. Therules generator selects a rules logic element 416-420 that comports withthe selected optimization. And the results export logic 415 identifiesresults templates and/or file designations that are required to presentresults of the selected optimization. Template designations foradditional data that is required from the user are provided to theinput/output processor 404 and the selected rules logic element 416-420provides rules configuration parameters for the optimization scenario tothe optimization engine via bus 421.

The template controller 405 and command interpretation logic 406together configure the designated new scenario templates forpresentation to the user, whereby configuration data and additional data(if any) for the optimization scenario are retrieved. Once theconfiguration/additional data are in place within the data base (notshown), the scenario controller 412 directs the optimization engine toexecute the configured optimization scenario. When an optimization iscomplete, the results export logic 415 retrieves scenario results fromthe optimization engine and formats the results for export to the uservia either result templates or file transfer.

Now referring to FIG. 5, a flow chart 500 is presented featuring amethod according to the present invention for optimizing selectedproduct merchandising levers. The method is provided to illustrateprogram flow for determining a set of optimum prices for one or moremerchandising levers in an optimization system that employs both ademand model and an activity based cost model for optimization. Byutilizing cost data as well as demand, optimization scenarios can beexecuted that maximize meaningful merchandising figures of merit such asnet profit.

Flow begins as block 502, where a user selects to perform anoptimization according to the present invention. Flow then proceeds toblock 504.

At block 504, the user is prompted to select one of a plurality ofmerchandising levers for which to perform an optimization. In oneembodiment, the merchandising levers include sales price, promotionstrategy, space strategy, logistics strategy, and product mix.Alternative embodiments provide subsets of the aforementioned levers foroptimization. Flow then proceeds to block 506.

At block 506, the system acquires data that is required to perform anoptimization according to the selection provided in block 504. In oneembodiment, primary point of sale data is uploaded into a client database according to the present invention and any additional data requiredfor the optimization is provided interactively by the user. Theadditional data includes rules and constraints that the user specifiesconcerning product categories and demand groups for optimization,selection of stores for optimization, grouping of stores for imputationof data where insufficient sales history exists, swing constraints(i.e., maximum and/or minimum change limits for parameters such asvolume, price change, etc.), front end parameters for an activity basedcost engine (e.g., labor rates, cost of capitol, etc.), merchandisingfigure of merit to maximize, and user preference for presentation ofresults (i.e., list, graph, downloadable file, etc.). In an alternativeembodiment, the additional data is stored within a file on a clientmachine and is uploaded to the data base over a data network. In anembodiment comprising a plurality of clients, access to client datawithin the data base and control of optimizations is protected by securemeasures such as passwords, user privilege restrictions, digitalauthentication, and encrypted communications. Flow then proceeds toblock 508.

At block 508, demand and ABC (i.e. financial) models are developedaccording to user-supplied scenario data by modeling applicationsaccording to the present invention. Flow then proceeds to block 510.

At block 510, rules and constraints provided by the user for theoptimization scenario are applied to bound (i.e., constrain) theoptimization that is to be performed. Flow then proceeds to block 512.

At block 512, an optimization is performed by the system according tothe present invention that utilizes both the demand model data and thefinancial model data to determine a set of optimum lever attributes forspecified products that maximize the specified merchandising figure ofmerit within the rules and constraints provided by the user. Flow thenproceeds to block 514.

At block 514, results of the optimization are provided to the user inthe form previously specified within block 506. Flow then proceeds todecision block 516.

At decision block 516, the user is provided with an opportunity toselect another one of the plurality of merchandising levers for which toperform a new optimization. If the user selects to configure and executeanother optimization, then flow is directed to block 504. If the userelects to exit, then flow proceeds to block 518.

At block 518, the method completes.

Having now described the architecture and detailed design of the presentinvention to support optimization systems having a plurality ofmerchandising levers available for manipulation, attention is nowdirected to FIGS. 6-38, where an exemplary embodiment of a thinclient-based price optimization apparatus will now be discussed. Thethin client-based price optimization apparatus is presented in terms ofa sequence of web templates (i.e., HTML and/or XML generated contentdisplayed within a user's thin web client program) provided to users forthe purpose of optimizing prices within specified product categories tomaximize specified merchandising figures of merit in accordance withuser-supplied rules/constraints.

Now referring to FIG. 6, a diagram is presented illustrating a currentlydefined scenarios template 600 according to the exemplary embodiment ofthe present invention. The currently defined scenarios template 600 isgenerated within a scenario/results processor using data pertaining to aparticular client that is stored within an area of a data base thatcorresponds to the particular client. When the client logs in to anoptimization NOC according to the present invention, like the NOC 230shown in FIG. 2, the currently defined optimization scenarioscorresponding to the particular client are provided by a web server overa data network to a client machine in the form of the currently definedscenarios template 600. The template shows a plurality of currentlydefined scenarios 601-604 corresponding to the particular client. Aplurality of scenario identifiers 605 are employed to identify each ofthe currently defined scenarios 601-604. The plurality of scenarioidentifiers 605 includes identifying features such as scenario name,scenario originator, scenario type, start date for optimization, enddate for optimization, scenario description, net profit resulting fromoptimization, and optimization status (i.e., new, optimization pending,optimized, etc.).

In the exemplary embodiment, shading and/or color features are employedwithin the currently defined scenarios window 600 so that a user caneasily distinguish the status of the plurality of optimization scenarios601-604. In the exemplary embodiment shown in FIG. 6, a scenario withoutshading 603 distinguishes a newly configured scenario. A lightly shadedscenario 601 indicates that a corresponding optimization has beencompleted. A darkly shaded scenario 602 is one that is pending anoptimization. Highlighting is employed by the exemplary embodiment toindicate a scenario 604 that is selected by the user.

Referring to FIG. 7, a diagram 700 is presented featuring a scenariomenu within the currently defined scenarios template of FIG. 6. Thescenario menu provides a user with the ability to create, modify, anddelete optimization scenarios according to the exemplary embodiment. Thescenario menu is selected by activating a scenario menu header 702 on amenu bar 701 offered to the user by the exemplary embodiment. Selectionof the scenario menu header 702, as with all other selectable itemsaccording to the exemplary embodiment, is accomplished via a pointingdevice or keystroke combination that are enabled by the user's thin webclient and which are available for implementation by the exemplaryembodiment.

The scenario menu provides scenario configuration options 704, 706, 707,709, 711-713 that are available for a user-selected scenario 703 withinthe currently defined scenarios template. Options 710 that are notavailable for the highlight scenario 703 are indicated by dimming or anotherwise distinguishable feature. In addition to providing options forthe highlighted scenario 703, the scenario menu provides an option 707to create a new scenario and an option 705 to print a listing ofcurrently defined scenarios. Exemplary options for the highlightedscenario 703 include an edit settings option 704, a print scenariodetails option 706, a copy scenario option 708, a delete scenario option709, a view results option 711, a remove scenario optimization option712, and an export price list option 713. If the highlighted scenario703 has not been previously optimized, the an optimize option 710 isprovided by the scenario menu.

Referring to FIG. 8, a diagram 800 is presented depicting agroups/classes menu within the currently defined scenarios template ofFIG. 6. The groups/classes menu provides a user with the ability tocreate and edit categorization attributes corresponding to product dataand store data associate with a highlighted scenario 803. Thegroups/classes menu is invoked by selecting a groups/classes header 802on the menu bar 801. The groups/classes menu provides the followingoptions: manage store groups 804, manage product groups 805, manageclasses of product brands 806, manage classes of product sizes 807,manage classes of product forms 808, and an option to edit productclasses 809. If an additional class of products is defined via the editclasses option 809, then an option to manage that product class would beshown along with the other product class management options 806-808.

FIG. 9 is a diagram 900 portraying an admin menu within the currentlydefined scenarios template of FIG. 6. The admin menu provides a userwith the ability to personalize how currently defined scenarios arepresented (option 904) along with an option to export demand modelcoefficients 905 associated with product categories for a highlightedscenario 903. In addition, an exit option 906 is provided, allowing theuser to exit the exemplary price optimization application. The adminmenu is invoked by selecting an admin header 902 on menu bar 901.

When a user elects to create a new optimization scenario by selecting acreate new scenario option 707 within the scenario menu discussed withreference to FIG. 7, a series of scenario configuration templates areprovided by the exemplary embodiment for display within the user's webbrowser. The scenario configuration templates together comprise a newscenario wizard that enables the user to configure major scenarioparameters and variables that are required to execute a priceoptimization. Less frequently employed parameters and variables can beconfigured following configuration of the major parameters andvariables. The scenario configuration templates are more particularlydescribed with reference to FIGS. 10-15.

Referring to FIG. 10, a diagram is presented showing a category template1000 that is part of a new scenario wizard according to an exemplaryembodiment of the present invention. The category template 1000 has acategories display field 1003, a demand groups field 1005, a productslisting field 1007, a cancel button 1008, and a next template button1009. The category template 1000 is the first of the scenarioconfiguration templates that are provided to the user's web client uponelection to configure a new scenario for optimization. In addition,during the process of new scenario configuration, tabs 1001, 1002 alongthe upper portion of the scenario configuration templates allow the userto return to a previously configured set of parameters/variables inorder to check and/or modify the previously configured set. Thoseparameters/variables that are currently being configured are indicatedby a bold tab 1002. Parameters/variables that are unavailable formodification are indicated by dimmed tabs 1001.

The categories field 1003 provides a listing of all product categories1004 that are available for optimization according to the client's dataset within the data base. The user selects categories 1004 foroptimization within the categories field 1003. Demand groups 1006 thathave been defined by the user for the selected category 1004 aredisplayed within the demand groups field 1005. The products listingfield 1007 displays the selected category 1004 along with the number ofproducts that are in the selected category 1004. The cancel button 1008enables the user to exit the new scenario wizard and the next button1009 allow the user to proceed to the next template within the wizard.

After the user has selected categories for optimization, the newscenario wizard presents a product template 1100 to the user's webbrowser, a diagram of which is shown in FIG. 11. The product template1100 indicates that the user is currently configuring productsparameters/variables for a new scenario by a bold products tab 1102.Dimmed tabs 1101 indicate parameters/variables that cannot be presentlyconfigured and normal tabs 1112 designate parameters/variables that havebeen configured, but which may be modified. The product template 1100has a products group field 1110 that displays all of the product groups1103-1105 that have been established by the client as being availablefor optimization within the user-selected product category describedwith reference to FIG. 10. An all groups option 1105 is also provided toallow the user optimize prices for all products within the selectedproduct category. Within the products group field 1110, the user selectsa product group 1104 for optimization, which is indicated byhighlighting. The products field 1111 displays all of the products 1106within the selected product group 1104. A create or edit product groupsbutton 1107 allows the user to dynamically modify product groups duringconfiguration of the new scenario. A cancel button 1108 is provided toallow the user to exit the new scenario configuration wizard and a nextbutton 1109 enables the user to proceed to the next template within thewizard.

Now referring to FIG. 12, a diagram is presented featuring a locationtemplate 1200 that is part of the new scenario wizard. As with thetemplates 1000, 1100 or FIGS. 10 and 11, the location template 1200indicates parameters that are presently being configured, those thathave been configured, and those that have not yet been configured viabold, normal, and dimmed tabs 1201, 1213, 1202. The locations template1200 has a store groups field 1211, a store groups description field1206, and a stores listing field 1207. The store groups field 1211allows the user to select from a store group 1203-1205 for which priceswill be optimized. A selected store group 1204 is indicated viahighlighting. In addition, and all stores option 1205 is provided toallow the user to optimize prices for all stores entered in the client'sdata set. The description field 1206 displays a description of theselected store group 1204 and the stores list field 1207 lists all ofthe client stores 1212 that are within the selected store group 1204.The user can dynamically define store groups 1203-1205 by selecting acreate/edit store groups button 1208. The user can exit the wizard byselecting a cancel button 1209. And the user can proceed to the nexttemplate by selecting a next button 1210.

Referring to FIG. 13, a diagram is presented depicting a time horizontemplate 1300 that is part of the new scenario wizard. The time horizontemplate 1300 indicates parameters that are presently being configured,those that have been configured, and those that have not yet beenconfigured via bold, normal, and dimmed tabs 1301, 1302, 1307. The timehorizons template 1300 has an optimization start date field 1303 wherethe user selects a start date 1307 for the new optimization scenario andan optimization end date field 1304 where the user selects an end date1308 for the new optimization scenario. Selected start and end dates1307, 1308 for optimizing prices are indicated within the template 1300by highlighting. The user can exit the wizard by selecting a cancelbutton 1305 and the user can proceed to the next template by selecting anext button 1306.

FIG. 14 is a diagram portraying an at-large rules template 1400 that ispart of the new scenario wizard. The at-large rules template 1400 allowsthe user to specify general rules and constraints for the newoptimization scenario. The at-large rules template 1400 indicatesparameters that are presently being configured, those that have beenconfigured, and those that have not yet been configured via bold,normal, and dimmed tabs 1401, 1402, 1413. The at-large rules template1400 has an enforce line pricing rule checkbox 1403 that constrains theoptimization to create the same optimized prices for all products withina given product line. The template 1400 also has an enforce pre-pricesrule checkbox 1404 that enables the user to constrain the optimizationsuch that pre-priced product prices do not change. In addition, thetemplate has an enforce/apply clusters rule checkbox 1405 that allowsthe user to direct the optimization to select the same optimized pricesfor all stores within a given store cluster that has been prescribed bythe user. The template 1400 provides an assume average promotionactivity checkbox 1406 as well, that directs the price optimizationsystem to assume average promotion activity as part of its priceoptimization procedure. An allowable last digits button 1407 on thetemplate takes the user to another template that enables the selectionof numerical values that are allowed/not allowed resulting from theoptimization.

In addition to these general rules, the at-large rules template 1400provides the user with an individual product max decline/min increasefield 1408 and an individual product min decline/max increase field1409. The individual product fields 1408, 1409 allow the user to enterlimits for the swing of individual product prices determined by theoptimization. The at-large rules template 1400 also has a demand groupmax decline/min increase field 1410 and a demand group min decline/maxincrease field 1411. The demand group fields allow the user to constrainprice swings in the optimization over an entire demand group. A nextbutton 1412 allows the user to proceed to the next template in the newscenario configuration wizard.

Now referring to FIG. 15, a diagram is presented portraying a strategytemplate 1500 that is part of the new scenario wizard. The strategytemplate 1500 indicates parameters that are presently being configuredand those that have been configured via bold and normal tabs 1502, 1501.Since the strategy window 1500 is the last template 1500 in the newscenario wizard, no dimmed tabs remain. The strategy window 1500provides overall optimization strategy buttons that enable the user toprescribe an optimization to maximize either profit 1503, volume 1504,or revenue 1505. In addition, the strategy template provides a volumemax decline/min increase field 1506 and a volume min decline/maxincrease field 1507 that allow the user to enter values constraining theallowable volumetric swing for the optimization. In addition buttons areprovided that enable the user to use both limits specified in the fields1506, 1507 (button 1511), no limits (button 1508), only the lower limitprescribed in field 1506 (button 1509), or only the upper limitspecified in field 1507 (button 1510). A scenario name field 1512enables the user to assign a name to the configured scenario and a savescenario button 1513 allows the user to save the configured scenario andexit the new scenario wizard.

Having now described the creation of a new optimization scenario withreference to FIGS. 10-15, additional features of the exemplary priceoptimization system embodiment will now be discussed with reference toFIGS. 16-26. FIGS. 16-26 include a series of results templates thatillustrate the various options for viewing the results of an executedoptimization and configuration settings for both configured and executedoptimizations.

Now referring to FIG. 16, a diagram is presented showing a currentlydefined scenarios window 1600 according to an exemplary embodiment ofthe present invention that features defined scenarios 1601-1604 invarious states of optimization. As described with reference to FIG. 6,highlighting and/or shading techniques are employed by the exemplaryprice optimization embodiment to allow the user to easily distinguishbetween newly created scenarios 1602, scenarios having a pendingoptimization 1603, scenarios that have completed optimizations 1601, anda currently selected scenario 1604. Through commands of a pointingdevice, or via selecting the view optimization results option 711 on thescenario menu discussed with reference to FIG. 7, means are provided forthe user to view detailed results corresponding to optimized scenarios1601. Through commands of a pointing device (e.g., double-clicking usinga mouse device), means are provided to view information regarding theselected scenario 1604.

FIG. 17 is a diagram 1700 illustrating how optimization results arepresented to a user within the currently defined scenarios window ofFIG. 16. The diagram shows a portion of a currently defined scenariostemplate having a selected scenario 1701 for which optimization resultsare available. For the selected scenario 1701, the diagram shows anoptimization results template 1702 laid within the currently definedscenarios window.

FIG. 18 is a diagram featuring an optimization results template 1800according to the exemplary embodiment of the present invention, likethat shown for the selected scenario discussed with reference to FIG.17. The results template 1800 is one of five scenario informationtemplates that are provided for a selected scenario via tabs 1801, 1802.A results tab 1802 is highlighted indicating that the user is viewingoptimization results for a selected optimization scenario. The resultstemplate 1800 has a results summary field 1804, presenting summarizedresults of the optimization for the selected scenario, along withcontrols 1803, providing selectable options for viewing additionalaspects of the result data for the selected scenario.

Now referring to FIG. 19, a diagram is presented depicting acontribution margin method for presenting optimization results within anoptimization results summary field 1900, like that shown in FIG. 18. Theresults summary field 1900 includes an initial value column 1901, anoptimized value column 1902, and a percent change column 1903. Thecolumns 1901-1903 present summarized result data for a selectedoptimization scenario according to a contribution margin method ofviewing the data. Initial, optimized, and percent change values areprovided for such attributes of an optimization as equivalent unitvolume, unit volume, revenue, equivalent retail price, product cost,gross margin, variable cost, contribution margin, overhead allocation,and net profit.

Referring to FIG. 20, a diagram is presented portraying scenario resultsdisplay options 2000 within the optimization results template of FIG.18. Options that are provided to the user for viewing result datainclude a contribution margin method option 2001, a revenue methodoption 2002, a detailed results option 2003, and a graphical resultsoption 2004.

The user can also view general information associated with a selectedoptimization scenario by selecting a general information tab 2109 withina currently defined scenarios window having an inlaid results template,like that discussed with reference to FIG. 18. FIG. 21 is a diagramshowing a general information window 2100 pertaining to a particularoptimization scenario that has been selected within the currentlydefined scenarios window of FIG. 16. The general information window 2100provides a scenario name field 2101 depicting a name given for theselected scenario, a start date field 2102 showing the configuredoptimization start data, an end date field 2103 showing the configuredoptimization end date, a strategy area 2104 showing the merchandisingfigure of merit that is maximized by the optimization, a volumeconstraint field 2105 depicting user-provided volume change constraint,a demand group average price change constraints field 2106 showinguser-provided demand group price change constraints, a scenario-widerules field 2107 showing other scenario-wide rules provided for theoptimization, and an allowable last digits button 2108 providing a linkto an allowable last digits configuration template. For selectedscenarios that have already completed optimization, the fields andbuttons 2101-2108 are dimmed to indicate that their contents cannot bemodified.

Now referring to FIG. 22, a diagram is presented illustrating an analyzescenario results template 2200 that is provided to a user who selects toview detailed scenario results according to the display options of FIG.20. The analyzed scenario results template 2200 has a results summaryfield 2201, a listing of scenario sub-items 2202, 2203, a drill downbutton 2204, a print results button 2205, an export results button 2206,and a done button 2207. The results summary field 2201 depicts a resultssummary pertaining to a selected scenario sub-item 2202, as indicated byhighlighting in FIG. 22. The drill down button 2204 enables the user toprescribe how results pertaining to sub-items are presented for review.The print results button 2205 directs the exemplary embodiment toproduce a printed result report at the user's client machine. The exportresults button 2206 directs the exemplary embodiment to download aresults file to the client machine. The done button 2207 enables theuser to exit the analyze results window 2200 and to return to thecurrently defined scenarios window.

By selecting the drill down button 2204, the user is taken to a resultsdrill down configuration template 2300 shown in the diagram of FIG. 23.The results drill down configuration template 2300 allows the user toprescribe sub-items and groupings of sub-items for display within theanalyze results window 2200 of FIG. 22. The drill down configurationtemplate 2300 has a product selection field 2301, a specific productselection field 2302, a product show result by field 2303, a storeselection field 2305, a specific store selection field 2306, and a storeshow result by field 2307. Via the product selection field 2301, theuser can tailor a results display all the way from the product categorylevel down to the individual product level. The options available forselection via the specific product selection field 2302 and the productshow result by field 2303 change based upon the user's selection offield 2301. For example, if the user selects to show result data for anentire demand group, field 2302 allows the user specify which demandgroup and field 2303 provides options 2304 according to the user'sselections in fields 2301 and 2302 by which result sub-items are groupedin the analyze results window of FIG. 22. Similarly, via the storeselection field 2305, the user can tailor the results display all theway from the chain level down to the individual store level. The optionsavailable for selection via the specific store selection field 2306 andthe store show result by field 2307 change based upon the user'sselection of field 2305. For example, if the user selects to show resultdata for an entire chain, field 2306 allows the user specify which chainand field 2307 provides options 2308 according to the user's selectionsin fields 2305 and 2306 by which result sub-items are grouped in theanalyze results window of FIG. 22. the configuration template 2300 alsoprovides a display button 2309 that produces an analyze results windowlike that shown in FIG. 22 having result sub-items and groupings asdefined by the user's selections in fields 2301-2303 and 2305-2307.

Referring to FIG. 24, a diagram is presented depicting an analyzescenario results template 2400 that corresponds to display optionsselected within the drill down configuration template of FIG. 23. Theuser has selected to display optimization results for an entire productcategory, broken down into demand group sub-items that are grouped bydemand group and store districts. Demand group column header 2401 anddistrict column header 2402 indicate that results sub-items are groupedby demand group and store districts.

FIG. 25 is a diagram depicting a file location designation window 2500according to the exemplary embodiment. The file designation window 2500is provided to the user's web browser when the user selects to exportresults to a file or when upload of data is required to configure anoptimization. The file designation window 2500 has a disk designationfield 2501, a directory designation field 2502, a filename field 2504,and a file listings field 2503. The user designates a file fordownload/upload by selecting a disk, directory, and filename for thefile to be downloaded/uploaded to/from the client machine via fields2501, 2502, and 2504. Field 2503 allow the user to view active filenameswithin a selected directory. FIG. 25 displays a save button 2505allowing the user to initiate a file export operation to store resultdata on the client machine. In an upload scenario, the save button 2505is replaced by an open button (not shown) directing the exemplaryembodiment to initiate the upload of data.

FIG. 26 is a diagram portraying a graph utility window 2600 forgraphically presenting scenario result data. The graph utility window2600 is provided to the user's web client via selection of the graphbutton 2004 within the results display options template 2000. The graphutility window 2600 has a results presentation area 2604, within whichresults of a selected optimization are displayed. The graph utilitywindow also has drill button 2601, a min field 2602, a max field 2603,and a results selection chooser 2605. The drill button 2601 allows theuser to configure sub-item options for presentation in the resultspresentation area 2604 like the options for list presentation describedwith reference to FIG. 23. The min and max fields 2602, 2603 allow theuser to define boundaries for and ordinate axis displayed within theresults presentation area. And the results selection chooser 2605enables the user to specify graphical display of results within thepresentation area 2604 according to either price or volume.

Now referring to FIG. 27, a diagram is presented showing a personalsettings template 2700 for configuring scenario properties for displaywithin a currently defined scenarios window according to an exemplaryembodiment of the present invention. The personal settings template 2700is provided to the user's thin client application when the user selectthe personal settings option 904 within the admin menu described withreference to FIG. 9. The personal settings window 2700 enables the userto personalize his/her presentation of the currently defined scenarioswindow within the exemplary embodiment. The personal settings window2700 has a scenario properties field 2701, within which is displayed anumber of scenario properties (i.e., descriptors) 2702 such as scenarioID, scenario name, description, company (i.e., client) ID, optimizationstart and end dates, scenario type, creator identification, andoptimized net profit. The user may select multiple scenario properties2702 within the personal settings window 2700 to provide only thosedescriptors 2702 of each scenario that the user requires. A done button2703 enables the user to implement the personalized settings.

FIG. 28 is a diagram illustrating the personal settings template 2800 ofFIG. 27 having a group of scenario properties 2801 selected for displaywithin a currently defined scenarios window according to an exemplaryembodiment of the present invention. The selected group of scenarioproperties 2801 is designated by highlighting. Selection is enabled viaa standard pointing device such as a mouse.

FIG. 29 is a diagram featuring a currently defined scenarios window 2900corresponding to the display properties 2801 selected in the personalsettings template 2800 of FIG. 28. A plurality of column headers 2901within the currently defined scenarios template 2900 are provide thatcomport with the scenario properties 2801 selected for display by theuser. Each listed scenario within the window 2900 is identified by itsdata corresponding to the column headers 2901.

Now referring to FIG. 30, a diagram is presented depicting a create andmanage store groups template 3000 according to the exemplary priceoptimization embodiment. The create and manage store groups template3000 is provided to the user's web browser when the user selects thestore groups option 804 within the groups/classes menu discussed withreference to FIG. 8 or when the user selects the create or edit storegroups button 1208 within the new scenario location template 1200discussed with reference to FIG. 12. The create and manage store groupstemplate 3000 enables the user to create and/or manipulate groups ofstores for the purposes of optimization. Two types of “groupings” areprovided for by the template 3000: a group and a cluster. Both groupingsare an aggregate of stores whose price history and sale data will beemployed (if selected) within a price optimization. However,optimizations that prescribe store groups are allowed to determinedifferent prices for the same product according to each different storewithin a store group. If the user prescribes a cluster of stores for anoptimization, and if the user selects the enforce/apply cluster pricescheckbox 1405 within the at-large rules template 1400 described withreference to FIG. 14, then optimized prices for each of the storeswithin the cluster are constrained to be the same for each productcarried by the stores within the cluster.

Uploaded or interactively provided store organization data for eachclient are stored within a data base according to the present invention.The store groups template 3000 displays hierarchical store organizationdata 3002 within a store organization field 3001 and provides a list ofstores 3003 at the lowest level of hierarchy. Example hierarchicalattributes include chain, region, district, city, etc. The store groupstemplate 3000 also has an existing groups field 3004 and a descriptionfield 3005. The existing groups field 3004 lists currently defined storegroups and clusters and the description field 3005 provides descriptiveinformation for a selected store group/cluster.

FIG. 31 is a diagram portraying the create and manage store groupstemplate 3100 of FIG. 30 indicating those stores within a store groupentitled “Midtown.” The store organization field 3101 highlights all ofthe stores 3103 of the midtown group 3107 within their existinghierarchy fields 3102, which are highlighted as well. Checkboxes in theorganization field 3101 enable the user to select/deselect stores 3103or hierarchy fields 3102 to add a new group/cluster. Descriptive data3106 is shown within the description field 3105 for a selected storegroup 3107 within the store group field 3104. A make a cluster button3109 allows the user to create a cluster from the selected store group3107. A new button 3110 allow the user to create a new store group whosename is entered within a group name field 3108. A remove button 3111 isprovided to enable the user to delete a selected store group/cluster3107. And a group builder button 3112 enables the user to utilize aBoolean logic tool for configuring more complex store groupings. Theuser exits the create and manage store groups window 3100 by selectingan exit button 3113.

FIG. 32 is a diagram showing a tree filtering window 3200 for building astore group according to the exemplary embodiment. The tree filteringwindow 3200 is provided in response to the user's selection of the groupbuilder button 3112 within the create and manage store groups template3100 of FIG. 31. The tree filtering, or group builder, window 3200provides the user with a plurality of selection buttons/Boolean controls3201 along with a plurality of choosers 3202 to enable the configurationof store groups having a complex relationship. The group builder tool3200 is useful for client data sets that comprise thousands of storeswhere it is difficult to prescribe grouping relationships simply byselection. A done button 3203 enables the user to exit the treefiltering template 3200 and to return to the create and manage storegroups template 3100.

Now referring to FIG. 33, a diagram is presented illustrating a productclass management window 3300 for brand class according to the exemplaryembodiment highlighting products within a premium product class. Theproduct class management window 3300 is accessed via a user's selectionof the brand class management option 806 within the groups/classes menudiscussed with reference to FIG. 8. The product class management window3300 exemplifies how the user establishes and categories groupings ofproducts within user-defined classes of products for the purposes ofimposing product-level rules and constraints and for the purposes ofviewing detailed optimization results. Product classes are analogous tostore groups. The product class management window 3300 provides amembers tab 3301 depicting highlighted members of a particular productclass within a member products display field 3307. The template 3300also provides a constraints tab 3302 allowing the user to prescribeadditional member constraints for product class groups. The template3300 provides a category chooser 3303 for the user to select a productcategory for display within display field 3307. Existing brand productclasses are displayed within field 3306. A new class button 3304 enablesthe user to specify a new brand product class and a delete class buttonallows the deletion of a highlighted brand product class within field3306.

Now referring to FIG. 34, a diagram is presented featuring a rulessummary window 3400 for an optimization scenario that is highlightedwithin a currently defined scenarios window. Selection of a rules table3401 enables the user to prescribe addition rules and constraints forconfigured scenarios that employ product classes described withreference to FIG. 33.

Selecting the rules tab 3401 also enables the rules/constraints menu3501 shown in the diagram 3500 of FIG. 35. The rules/constraints menu3501 provides a plurality of options 3502 that enable the user toprescribe optimization rules and constraints according to productclasses as well as across store rules and group-to-group rules. Suchrules, being at levels much lower that those specified according to theat-large rules template 1400 of FIG. 14, are more readily prescribed byselecting a configured scenario and then enabling the rules/constraintsmenu 3501. The options 3502 are enabled for prescription upon selectionof a rules tab 3503.

When the user first adds a rule or constraint to a configured scenario,a first rule warning window 3600 according to the exemplary embodimentis displayed as shown in the diagram of FIG. 36. The warning window 3600instructs the user that once the rule/constraint is added, then the useris henceforth prohibited from further modifying store and/or productgroups because rules and constraints specified by the selection ofoptions 3502 within the rules/constraints menu 3501 are based upon theexisting organization of stores and products. Any subsequent changes tothe existing organization will invalidate previously specified rules fora selected scenario, thus changes to the existing organization ishenceforth prohibited following configuration of the firstrule/constraint.

Now referring to FIG. 37, a diagram is presented showing an add a rulefor product group template 3700 according to the exemplary embodiment.The add a rule for product group template 3700 exemplifies featuresprovided by the present invention that allow a user to constrain a priceoptimization at levels below those covered by the at-large rulestemplate 1400 described with reference to FIG. 14. The add a ruletemplate 3700 has a rule application area 3701, a limit method area3702, a rule type area 3703, an enforce rule area 3704, a ruledescription area 3705, an applicable store group chooser 3706, and anapplicable product group chooser 3707. The rule application area 3701allows the user to apply the added rule either to individual members ofan entire set or to an aggregation of the set, where the “set” isdefined by store and product group selections in choosers 3706 and 3707.The limit method area 3702 provides the user with options to prescribedthe added rule in terms of a percentage, relative limits, or absolutelimits. The rule type area 3703 enables the user to select from aplurality of rule types that include volume, price, gross margin,profit, net margin, etc. The enforce rule area 3704 allow the user toprescribe limits for the rule which are interpreted according to userselections within the limit method area 3702. The rule description area3705 provides a description of a configured rule in narrative form.

Once additional rules/constraints have been configured for a selectedscenario within a currently defined scenarios window, the rules summarywindow 3800 will display a narrative description of all applied rules3801, as depicted by FIG. 38. Within the rules summary window 3800, theuser can activate/deactivate selected rules prior to optimization of theselected scenario.

Although the present invention and its objects, features, and advantageshave been described in detail, other embodiments are encompassed by theinvention as well. For example, the present invention has beenparticularly characterized as a web-based system whereby clients accessa centralized network operations center in order to performoptimizations. However, the scope of the present invention is notlimited to application within a client-server architecture that employsthe Internet as a communication medium. Direct client connection is alsoprovided for by the system according to the present invention.

In addition, the present invention has been particularly characterizedin terms of servers, controllers, and management logic for optimizationof various merchandising parameters. These elements of the presentinvention can also be embodied as application program modules that areexecuted on a WINDOWS NT®- or UNIX®-based operating system.

Furthermore, the present invention has been presented in terms ofseveral merchandising levers, and specifically in terms of a pricelever, whereby prices are optimized to maximize a user-selected figureof merit. Price is a well understood lever, but scope of the presentinvention is not constrained to price. Any well understood merchandisinglever, the manipulation of whose attributes can be quantified andestimated with respect to consumer demand and whose associated costs canbe determined via an activity based cost model are contemplated by thepresent invention. Such levers include space, assortment, logistics, andpromotion.

Those skilled in the art should appreciate that they can readily use thedisclosed conception and specific embodiments as a basis for designingor modifying other structures for carrying out the same purposes of thepresent invention, and that various changes, substitutions andalterations can be made herein without departing from the spirit andscope of the invention as defined by the appended claims.

What is claimed is:
 1. An interface enabling a user to determine optimumprices of products for sale, comprising: a scenario/results processor,configured to enable a user to prescribe an optimization scenario, andconfigured to present the optimum prices to said user, wherein theoptimum prices are determined by execution of said optimizationscenario, wherein said optimum prices are determined based uponestimated product demand and calculated activity based costs, saidscenario/results processor comprising: an input/output processor,configured to acquire data corresponding to said optimization scenariofrom said user, and configured to distribute optimization results tosaid user, wherein said data is acquired from said user over theInternet via a packet-switched protocol; and a scenario controller,coupled to said input/output processor, configured to controlacquisition of said data and the distribution of said optimizationresults in accordance with a price optimization procedure.
 2. Theapparatus as recited in claim 1, wherein said packet-switched protocolcomprises TCP/IP protocol.
 3. The apparatus as recited in claim 2,wherein said data is interactively provided by and said optimizationresults are interactively distributed to said user.
 4. The apparatus asrecited in claim 2, wherein said data is acquired from a sourceelectronic file and said optimization results are distributed to adestination electronic file, said electronic files being designated bysaid user.
 5. The apparatus as recited in claim 1, wherein saidinput/output processor comprises: a template controller, configured toprovide first price optimization templates and second price optimizationtemplates, wherein said price optimization templates are presented tosaid user to allow for prescription of said optimization scenario, andfor distribution of said optimization results; and a commandinterpreter; configured to extract commands from said first priceoptimization templates executed by said user, and configured to populatesaid second price optimization templates according to result dataprovided for presentation to said user.
 6. The apparatus as recited inclaim 5, wherein said first and second price optimization templates areprovided according to hypertext markup language (HTML).
 7. The apparatusas recited in claim 5, wherein said first and second price optimizationtemplates are provided according to extensible markup language (XML). 8.The apparatus as recited in claim 5, wherein said first and second priceoptimization templates are provided as Java applets.
 9. The apparatus asrecited in claim 5, wherein said second price optimization templatescomprise: a price optimization results template, for providing said userwith said result data corresponding to said optimization scenario. 10.The apparatus as recited in claim 9, wherein said result data comprisesoptimized values and percent change values for merchandising factors,wherein said merchandising factors comprise one or more of thefollowing: volume, revenue, product cost, gross margin, and net profit.11. The apparatus as recited in claim 10, wherein said result data ispresented graphically.
 12. The apparatus as recited in claim 5, whereinsaid first price optimization templates comprise: a plurality of newscenario templates, configured to enable said user to prescribe scenarioparameters corresponding to said optimization scenario.
 13. Theapparatus as recited in claim 12, wherein said plurality of new scenariotemplates comprises: a category template, for specifying a productcategory for price optimization, said product category comprising: aplurality of demand groups, each of said plurality of demand groupsconfigured to categorize a set of highly correlated products, whereinsaid highly correlated products are normally substitute products, butmay also be complementary products.
 14. The apparatus as recited inclaim 13, wherein said plurality of new scenario templates furthercomprises: a products template, for specifying the products for sale,wherein the products for sale may span more than one of said pluralityof demand groups.
 15. The apparatus as recited in claim 13, wherein saidplurality of new scenario templates further comprises: a locationstemplate, for specifying a plurality of store groups for which theoptimum prices are to be determined, wherein, when determining theoptimum prices, the apparatus employs portions of said data thatcorrespond to said plurality of store groups.
 16. The apparatus asrecited in claim 13, wherein said plurality of new scenario templatesfurther comprises: a time horizon template, for specifying a time periodfor which the optimum prices are to be determined.
 17. The apparatus asrecited in claim 13, wherein said plurality of new scenario templatesfurther comprises: an at-large rules template, for specifying rules togovern determination of the optimum prices, said rules comprising:maximum allowable price swing for each of the products for sale; andmaximum allowable swing for average price of each demand group withinsaid plurality of demand groups.
 18. The apparatus as recited in claim13, wherein said plurality of new scenario templates further comprises:a strategy template, for specifying a merchandising performance figureof merit, and for specifying limits for changes in sales volume.
 19. Theapparatus as recited in claim 18, wherein options for specification ofsaid merchandising performance figure of merit comprise net profit, saidsales volume, and revenue.
 20. A method for providing an interface to anapparatus for optimizing the prices of products for sale, comprising:utilizing a computer-based scenario/results processor within anoptimization server to present a sequence of data entry templates to auser, whereby the user specifies an optimization scenario, theoptimization server optimizing the prices according to modeled marketdemand for the products and calculated demand chain costs for theproducts; and generating a plurality of optimization results templatesand providing these templates to the user, wherein the optimum pricesare presented.
 21. The method as recited in claim 20, wherein the dataentry templates and the optimization results templates are generated inhypertext markup language (HTML).
 22. The method as recited in claim 20,wherein the data entry templates and the optimization results templatesare generated in extensible markup language (XML).
 23. The method asrecited in claim 20, wherein the data entry templates and theoptimization results templates are generated as Java applets.
 24. Themethod as recited in claim 20, wherein said utilizing comprises:providing a strategy template, for specifying a merchandisingperformance figure of merit, and for prescribing limits for changes insales volume.
 25. The method as recited in claim 20, wherein options forspecifying the merchandising performance figure of merit comprise netprofit, sales volume, and revenue.
 26. The method as recited in claim20, wherein said generating comprises: providing a price optimizationresults template, for supplying the user with scenario resultscorresponding to the optimization scenario, wherein the scenario resultsinclude optimized values and percent change values for merchandisingfactors, the merchandising factors including one or more of thefollowing: volume, revenue, product cost, gross margin, and net profit.27. The method as recited in claim 20, wherein said utilizing comprises:first providing a category template, for specifying a product categoryfor price optimization, wherein the product category comprises aplurality of demand groups; second providing a products template, forspecifying the products for sale for which the optimum prices are to bedetermined, wherein the products for sale may span more than one of theplurality of demand groups; and third providing a time horizon template,for prescribing a time period for which the optimum prices are to bedetermined.
 28. The method as recited in claim 27, wherein saidutilizing further comprises: fourth providing a locations template, forprescribing a plurality of store groups for which the optimum prices areto be determined, wherein said prescribing directs said employing toutilize data corresponding to the plurality of said store groups whendetermining the optimum prices; and fifth providing an at-large rulestemplate, for specifying rules to govern determination of the optimumprices, wherein the rules specify maximum allowable price swing for eachof the products for sale, and maximum allowable swing for the averageprice of each demand group within the plurality of demand groups. 29.The method as recited in claim 20, wherein said utilizing comprises:acquiring data corresponding to the optimization scenario from the user;and formatting the data into a format suitable for performing a priceoptimization according to the optimization scenario.
 30. The method asrecited in claim 29, wherein the data is interactively provided by theuser.
 31. The method as recited in claim 29, wherein the data isacquired from a source electronic file that is designated by the user.32. The method as recited in claim 29, wherein said acquiring comprises:obtaining the data from the user over a data network that employs apacket-switched protocol.
 33. The method as recited in claim 32, whereinsaid acquiring further comprises: employing TCP/IP protocol to obtainthe data over the Internet.
 34. An interface enabling a user todetermine optimum prices of products for sale, comprising: ascenario/results processor, configured to enable a user to prescribe anoptimization scenario, and configured to present the optimum prices tosaid user, wherein the optimum prices are determined by execution ofsaid optimization scenario, wherein said optimum prices are determinedbased upon estimated product demand and calculated activity based costsfor products within demand groups, and wherein said estimated productdemand is modeled using a Bayesian Shrinkage methodology, saidscenario/results processor comprising: an input/output processor,configured to acquire data corresponding to said optimization scenariofrom said user, and configured to distribute optimization results tosaid user, wherein said input/output processor comprises: a templatecontroller, configured to provide first price optimization templates andsecond price optimization templates, wherein said price optimizationtemplates are presented to said user to allow for prescription of saidoptimization scenario, and for distribution of said optimizationresults; and a command interpreter; configured to extract commands fromsaid first price optimization templates executed by said user, andconfigured to populate said second price optimization templatesaccording to result data provided for presentation to said user; and ascenario controller, coupled to said input/output processor, configuredto control acquisition of said data and the distribution of saidoptimization results in accordance with a price optimization procedure.35. The apparatus as recited in claim 34, wherein said second priceoptimization templates comprise: a price optimization results template,for providing said user with said result data corresponding to saidoptimization scenario.
 36. The apparatus as recited in claim 35, whereinsaid result data comprises optimized values and percent change valuesfor merchandising factors, wherein said merchandising factors compriseone or more of the following: volume, revenue, product cost, grossmargin, and net profit.
 37. The apparatus as recited in claim 34,wherein said first price optimization templates comprise: a plurality ofnew scenario templates, configured to enable said user to prescribescenario parameters corresponding to said optimization scenario.
 38. Theapparatus as recited in claim 37, wherein said plurality of new scenariotemplates comprises: a category template, for specifying a productcategory for price optimization, said product category comprising: aplurality of demand groups, each of said plurality of demand groupsconfigured to categorize a set of highly correlated products, whereinsaid highly correlated products are normally substitute products, butmay also be complementary products; a products template, for specifyingthe products for sale, wherein the products for sale may span more thanone of said plurality of demand groups; a locations template, forspecifying a plurality of store groups for which the optimum prices areto be determined, wherein, when determining the optimum prices, theapparatus employs portions of said data that correspond to saidplurality of store groups; and a time horizon template, for specifying atime period for which the optimum prices are to be determined.
 39. Theapparatus as recited in claim 38, wherein said plurality of new scenariotemplates further comprises: an at-large rules template, for specifyingrules to govern determination of the optimum prices, said rulescomprising: maximum allowable price swing for each of the products forsale; and maximum allowable swing for average price of each demand groupwithin said plurality of demand groups.
 40. The apparatus as recited inclaim 38, wherein said plurality of new scenario templates furthercomprises: a strategy template, for specifying a merchandisingperformance figure of merit, and for specifying limits for changes insales volume.
 41. The apparatus as recited in claim 40, wherein optionsfor specification of said merchandising performance figure of meritcomprise net profit, said sales volume, and revenue.